package cn.csc.module.pay.dal.dataobject.funddetails;

import cn.csc.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * 用户资金收支明细 DO
 *
 * @author 华南城
 */
@TableName("pay_fund_details")
@KeySequence("pay_fund_details_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayFundDetailsDO extends BaseDO {

    /**
     * 标识Id
     */
    @TableId
    private BigInteger id;
    /**
     * 外部用户id
     */
    private String appUserId;
    /**
     * 商户编号
     */
    private BigInteger merchantId;
    /**
     * 撤销分账金额
     */
    private BigDecimal refundDivideMoney;
    /**
     * 分账金额
     */
    private BigDecimal divideMoney;
    /**
     * 冻结金额
     */
    private BigDecimal freezeMoney;
    /**
     * 撤销冻结金额
     */
    private BigDecimal refundFreezeMoney;
    /**
     * 支付订单Id
     */
    private BigInteger orderId;

    /**
     * 商品子订单ID
     */
    private BigInteger orderItemId;

    /**
     * 见证宝订单
     */
    private BigInteger jzbOrderId;
    /**
     * 交易类型,0:其他,1:冻结 2:冻结撤销 3:分账 4:分账撤销
     */
    private Integer tradeType;

}
